package com.ip.user.models.service;

import com.ip.user.models.dto.EmailCaptchaDTO;

import java.util.Map;

/**
 * 邮箱验证码服务接口
 */
public interface EmailCaptchaService {
    
    /**
     * 生成邮箱验证码
     * @param email 邮箱地址
     * @param captchaType 验证码类型
     * @return 包含验证码信息的Map
     */
    Map<String, Object> generateCaptcha(String email, String captchaType);
    
    /**
     * 验证邮箱验证码（不删除）
     * @param emailCaptchaDTO 邮箱验证码DTO
     * @return 验证结果
     */
    boolean checkCaptcha(EmailCaptchaDTO emailCaptchaDTO);
    
    /**
     * 验证邮箱验证码（验证成功后删除）
     * @param emailCaptchaDTO 邮箱验证码DTO
     * @return 验证结果
     */
    boolean verifyCaptcha(EmailCaptchaDTO emailCaptchaDTO);
    
    /**
     * 发送邮箱验证码
     * @param email 邮箱地址
     * @param captcha 验证码
     * @return 发送结果
     */
    boolean sendCaptchaEmail(String email, String captcha);
}